﻿//=====================================================================================================
// LocalizationLibrary
// The Localization Library is a collection of reusable software component that provide 
// support for localization. This library enable you to localize WPF, Silverlight and WP7 applications.
// (http://localizationlibrary.codeplex.com)
//=====================================================================================================
// Author: Nicola Gallo (Website: www.nicola.gallo.name, Email: nicolagmt@hotmail.it) 
//=====================================================================================================

namespace LocalizationLibrary
{
    //.NET References
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// Defines a base class to provide all the available languages.
    /// </summary>
    public class LanguagesProvider
    {
        /// <summary>
        /// Gets all the available languages.
        /// </summary>
        /// <returns></returns>
        public virtual Language[] GetAvailableLanguages() 
        {
            List<Language> availableLanguages = new List<Language>();
#if !WINDOWS_PHONE
            availableLanguages.Add(new Language("العربية", "ar", true));
#endif
            availableLanguages.Add(new Language("Български", "bg"));
            availableLanguages.Add(new Language("简体中文", "zh-CN"));
            availableLanguages.Add(new Language("繁體中文", "zh-TW"));
            availableLanguages.Add(new Language("České", "cs"));
            availableLanguages.Add(new Language("Danske", "da"));
            availableLanguages.Add(new Language("Nederlandse", "nl"));
            availableLanguages.Add(new Language("English", "en"));
            availableLanguages.Add(new Language("Suomalainen", "fi"));
            availableLanguages.Add(new Language("Française", "fr"));
            availableLanguages.Add(new Language("Deutsch", "de"));
            availableLanguages.Add(new Language("Ελληνικά", "el"));
#if !WINDOWS_PHONE
            availableLanguages.Add(new Language("हिन्दी", "hi"));
#endif
            availableLanguages.Add(new Language("Italiano", "it"));
            availableLanguages.Add(new Language("日本", "ja"));
            availableLanguages.Add(new Language("한국어", "ko"));
            availableLanguages.Add(new Language("Norske", "no"));
            availableLanguages.Add(new Language("Polska", "pl"));
            availableLanguages.Add(new Language("Português", "pt"));
            availableLanguages.Add(new Language("Română", "ro"));
            availableLanguages.Add(new Language("Россию", "ru"));
            availableLanguages.Add(new Language("Español", "es"));
            availableLanguages.Add(new Language("Svenska", "sv"));

            return availableLanguages.ToArray();
        }
    }
}